package code.c02_list.dlinkList;


/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/9/26 18:01
 * @package code.c02_list.classwork.examples
 * @description 设计一个算法，删除整数双链表L中的第一个值为x的结点
 */

public class Exam_2_18 {
    public static void delx(DLinkListClass<Integer> L, Integer x){
        DLinkNode<Integer> p = L.dhead.next;
        // 查找第一个值 为 x 的指针
        while (p !=null && p.data != x){
            p = p.next;
        }

        // 删除 P 指针
        if (p != null){
            if (p.next != null){
                p.next.prior = p.prior;
            }
            p.prior.next = p.next;
        }
    }
}
